#pragma once
#ifndef Game_H
#define Game_H

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>

#include "Win.h"
#include "resource.h"
#include "ZenEngine.h"
#include "ZenVertex.h"
#include "ZenCamera.h"
#include "MenuScene.h"
#include "Scene.h"
#include "ZenKeyboard.h"
#include "ZenMouse.h"
#include "ZenLight.h"
#include "ZenSound.h"
#include "Ghost.h"
class CGame : public CWin
{
private:
	CZenEngine	zen;
	CZenKeyboard m_Keyboard;
	CZenMouse m_Mouse;
	CZenCamera g_Camera;
	CZenLight m_Light;
	CZenSound m_Sound;
	MenuScene menu;
	Scene scene;
	LPDIRECT3DSURFACE8	m_pBackgroundSurface;
	LPDIRECT3DSURFACE8	m_pStarBackground;
	LPDIRECT3DSURFACE8	m_pLevelCompleted;
	LPDIRECT3DSURFACE8  m_pYouLose;
	LPDIRECT3DSURFACE8	m_pYouBeat;

	void PacmanDies(float x, float y);

	int m_CurrentLevel;
	int m_Points;
	int m_Lives;
	int prevTime;
	int bonusTime;
	
	INT64 PreviousTime;
	int m_framesNumber;
//	INT64 CurrentTime;
	bool wolfenstein3d;
	bool changeCamera;
	
public:
	
	CGame();
	~CGame();
	int m_MenuOrGame;
	
	LRESULT MsgProc(HWND, UINT, WPARAM, LPARAM);
	HRESULT GameInit();
	HRESULT GameLoop();
	HRESULT Render();

	HRESULT StartLevel(int numLevel);

	bool setHighScore();
};
#endif
